package com.encon.projecttracker.server.data.pojo;

// default package
// Generated 04-May-2009 20:35:51 by Hibernate Tools 3.2.4.GA

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Projects generated by hbm2java
 */
@Entity
@Table(name = "projects", catalog = "test")
public class Projects implements java.io.Serializable {

	private Integer projectId;
	private User users;
	private Companies companies;
	private int projectCompanyInternal;
	private int projectDepartment;
	private String projectName;
	private String projectShortName;
	private String projectUrl;
	private String projectDemoUrl;
	private Date projectStartDate;
	private Date projectEndDate;
	private Date projectActualEndDate;
	private Integer projectStatus;
	private Byte projectPercentComplete;
	private String projectColorIdentifier;
	private String projectDescription;
	private BigDecimal projectTargetBudget;
	private BigDecimal projectActualBudget;
	private Integer projectCreator;
	private Byte projectPrivate;
	private String projectDepartments;
	private String projectContacts;
	private Byte projectPriority;
	private short projectType;

	public Projects() {
	}

	public Projects(Companies companies, int projectCompanyInternal, int projectDepartment, short projectType) {
		this.companies = companies;
		this.projectCompanyInternal = projectCompanyInternal;
		this.projectDepartment = projectDepartment;
		this.projectType = projectType;
	}

	public Projects(User users, Companies companies, int projectCompanyInternal, int projectDepartment, String projectName, String projectShortName,
			String projectUrl, String projectDemoUrl, Date projectStartDate, Date projectEndDate, Date projectActualEndDate, Integer projectStatus,
			Byte projectPercentComplete, String projectColorIdentifier, String projectDescription, BigDecimal projectTargetBudget,
			BigDecimal projectActualBudget, Integer projectCreator, Byte projectPrivate, String projectDepartments, String projectContacts,
			Byte projectPriority, short projectType) {
		this.users = users;
		this.companies = companies;
		this.projectCompanyInternal = projectCompanyInternal;
		this.projectDepartment = projectDepartment;
		this.projectName = projectName;
		this.projectShortName = projectShortName;
		this.projectUrl = projectUrl;
		this.projectDemoUrl = projectDemoUrl;
		this.projectStartDate = projectStartDate;
		this.projectEndDate = projectEndDate;
		this.projectActualEndDate = projectActualEndDate;
		this.projectStatus = projectStatus;
		this.projectPercentComplete = projectPercentComplete;
		this.projectColorIdentifier = projectColorIdentifier;
		this.projectDescription = projectDescription;
		this.projectTargetBudget = projectTargetBudget;
		this.projectActualBudget = projectActualBudget;
		this.projectCreator = projectCreator;
		this.projectPrivate = projectPrivate;
		this.projectDepartments = projectDepartments;
		this.projectContacts = projectContacts;
		this.projectPriority = projectPriority;
		this.projectType = projectType;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "project_id", unique = true, nullable = false)
	public Integer getProjectId() {
		return this.projectId;
	}

	public void setProjectId(Integer projectId) {
		this.projectId = projectId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "project_owner")
	public User getUsers() {
		return this.users;
	}

	public void setUsers(User users) {
		this.users = users;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "project_company", nullable = false)
	public Companies getCompanies() {
		return this.companies;
	}

	public void setCompanies(Companies companies) {
		this.companies = companies;
	}

	@Column(name = "project_company_internal", nullable = false)
	public int getProjectCompanyInternal() {
		return this.projectCompanyInternal;
	}

	public void setProjectCompanyInternal(int projectCompanyInternal) {
		this.projectCompanyInternal = projectCompanyInternal;
	}

	@Column(name = "project_department", nullable = false)
	public int getProjectDepartment() {
		return this.projectDepartment;
	}

	public void setProjectDepartment(int projectDepartment) {
		this.projectDepartment = projectDepartment;
	}

	@Column(name = "project_name")
	public String getProjectName() {
		return this.projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	@Column(name = "project_short_name", length = 10)
	public String getProjectShortName() {
		return this.projectShortName;
	}

	public void setProjectShortName(String projectShortName) {
		this.projectShortName = projectShortName;
	}

	@Column(name = "project_url")
	public String getProjectUrl() {
		return this.projectUrl;
	}

	public void setProjectUrl(String projectUrl) {
		this.projectUrl = projectUrl;
	}

	@Column(name = "project_demo_url")
	public String getProjectDemoUrl() {
		return this.projectDemoUrl;
	}

	public void setProjectDemoUrl(String projectDemoUrl) {
		this.projectDemoUrl = projectDemoUrl;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "project_start_date", length = 19)
	public Date getProjectStartDate() {
		return this.projectStartDate;
	}

	public void setProjectStartDate(Date projectStartDate) {
		this.projectStartDate = projectStartDate;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "project_end_date", length = 19)
	public Date getProjectEndDate() {
		return this.projectEndDate;
	}

	public void setProjectEndDate(Date projectEndDate) {
		this.projectEndDate = projectEndDate;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "project_actual_end_date", length = 19)
	public Date getProjectActualEndDate() {
		return this.projectActualEndDate;
	}

	public void setProjectActualEndDate(Date projectActualEndDate) {
		this.projectActualEndDate = projectActualEndDate;
	}

	@Column(name = "project_status")
	public Integer getProjectStatus() {
		return this.projectStatus;
	}

	public void setProjectStatus(Integer projectStatus) {
		this.projectStatus = projectStatus;
	}

	@Column(name = "project_percent_complete")
	public Byte getProjectPercentComplete() {
		return this.projectPercentComplete;
	}

	public void setProjectPercentComplete(Byte projectPercentComplete) {
		this.projectPercentComplete = projectPercentComplete;
	}

	@Column(name = "project_color_identifier", length = 6)
	public String getProjectColorIdentifier() {
		return this.projectColorIdentifier;
	}

	public void setProjectColorIdentifier(String projectColorIdentifier) {
		this.projectColorIdentifier = projectColorIdentifier;
	}

	@Column(name = "project_description", length = 65535)
	public String getProjectDescription() {
		return this.projectDescription;
	}

	public void setProjectDescription(String projectDescription) {
		this.projectDescription = projectDescription;
	}

	@Column(name = "project_target_budget", precision = 10)
	public BigDecimal getProjectTargetBudget() {
		return this.projectTargetBudget;
	}

	public void setProjectTargetBudget(BigDecimal projectTargetBudget) {
		this.projectTargetBudget = projectTargetBudget;
	}

	@Column(name = "project_actual_budget", precision = 10)
	public BigDecimal getProjectActualBudget() {
		return this.projectActualBudget;
	}

	public void setProjectActualBudget(BigDecimal projectActualBudget) {
		this.projectActualBudget = projectActualBudget;
	}

	@Column(name = "project_creator")
	public Integer getProjectCreator() {
		return this.projectCreator;
	}

	public void setProjectCreator(Integer projectCreator) {
		this.projectCreator = projectCreator;
	}

	@Column(name = "project_private")
	public Byte getProjectPrivate() {
		return this.projectPrivate;
	}

	public void setProjectPrivate(Byte projectPrivate) {
		this.projectPrivate = projectPrivate;
	}

	@Column(name = "project_departments", length = 100)
	public String getProjectDepartments() {
		return this.projectDepartments;
	}

	public void setProjectDepartments(String projectDepartments) {
		this.projectDepartments = projectDepartments;
	}

	@Column(name = "project_contacts", length = 100)
	public String getProjectContacts() {
		return this.projectContacts;
	}

	public void setProjectContacts(String projectContacts) {
		this.projectContacts = projectContacts;
	}

	@Column(name = "project_priority")
	public Byte getProjectPriority() {
		return this.projectPriority;
	}

	public void setProjectPriority(Byte projectPriority) {
		this.projectPriority = projectPriority;
	}

	@Column(name = "project_type", nullable = false)
	public short getProjectType() {
		return this.projectType;
	}

	public void setProjectType(short projectType) {
		this.projectType = projectType;
	}

}
